// P2251 write by cn_ryh